目前 MLOps/LLMOps 常見的解決方案,主要有以下幾個:
MLflow
MLflow 是用來管理 End-to-End 機器學習生命週期的開放原始碼平臺。 它有下列主要元件: 追蹤:可讓您追蹤實驗來記錄和比較參數和結果。 模型:可讓您從各種ML 程式庫管理和部署模型,以及將模型部署到各種模型服務和推斷平臺。 相關介紹文: 開源模型管理平台簡介 — MLflow
Kubeflow
Kubeflow 便是一個建立在 Kubernetes 之上的模型開發平台,提供開發模型所需的所有工具,並且藉由 Kubernetes 達到資源、網路的彈性控管。相關介紹文: 完整 Kubeflow 使用教學 — 開發 ML 模型、進行分散式訓練與部署服務
Databricks
Databricks 是用於資料工程、機器學習和協作資料科學的統一資料分析平台。 Databricks Workspace 是一種軟體即服務(SaaS) 環境,可用於存取所有Databricks 資產。 該工作區將物件(例如,筆記本、庫和實驗) 整理到資料夾中,並提供對資料和運算資源(如叢集和任務) 的存取。目前 Databricks 也支援在 Kubernetes 上運行,所以也能運行在主流的 CSP (Cloud Solution Provider) 如 AWS、Azure、GCP 上面。相關介紹文: Databricks on Kubernetes
Azure Machine Learning / Google Cloud AI Platform (Vertex AI) / Amazon SageMaker
這三個都是主流的雲端機器學習平台,提供了完整的機器學習生命週期管理,包含資料準備、模型訓練、模型部署等功能。
由於目前大多客戶都採用 Databricks 或是三個主流機器學習平台,所以本次實作也會以這兩個平台為主。但是為了符合混合雲的目標,所以也會在實作中加入 MLflow 的操作介紹。我們會在後面的章節中,分別介紹如何在 Databricks 和 MLflow 上進行模型訓練與部署。